//\description: Atomic operation register aliance
/*
 * Atomic inc register used for:
 * 0: pixel id
 * 1: thread id
 * 2: photon store id in memory
 * 3: threads barrier when photon trace done
 */

#ifndef __ATOM_TRACE_ATOMIC_REGISTER_H_
#define __ATOM_TRACE_ATOMIC_REGISTER_H_

// Register 0-7
#define REG_PIXEL_ID	0
#define REG_THREAD_ID	1 // Get threadId, should use atomicinc(1) only once
#define REG_PHT_ST_ID	2 // photon storage id
#define REG_BARRIER		3
#define REG_PERCENT		4 // rendering percentage
#define REG_PHT_PASS    5 // photon pass
#endif //__ATOM_TRACE_ATOMIC_REGISTER_H_
